The programming for CavePlot started back in 1986, when I got tired of plotting survey data by hand, with a calculator and ruler. John Halleck, a friend in a nearby Grotto, was already using his computer program to process and plot survey data. Unfortunately, it often took weeks to mail him the survey data, let him process it, plot it, and mail back the results. Not wanting to wait so long, and not wanting to process the data by hand, I wrote a short computer program to do the processing. After fixing a few bugs and adding the ability to load and save survey data, the program worked fine and I was content.
The next weekend, I went caving and surveyed a new area in one of our local caves. The discovery was short, but interesting. How did it relate to the rest of the cave? Our trip leader, Rod Horrocks, quickly mailed a copy of the survey data to John Halleck, to be processed. Rather than wait, I went home, typed in the data, plotted it, and showed Rod the results the very next day. Rod was impressed and asked for a copy of the program. I gave him a copy, but he immediately wanted (or needed?) some user-friendly additions. I admit the original program was not very versatile, but it was only intended for my own personal use. I added a few features and some fool-proofing. After numerous phone calls for help, I added a lot more fool-proofing and a few more options. Over the years, we have used my program to process the survey data for countless small caves, but we also continued to want more out of the program.
CavePlot 1.0
Over the years, I continued to fix bugs and add options. CavePlot continued to grow, until it became obvious that I could put the program up for sale. With a lot more fool-proofing and a few more options, CavePlot 1.0 became commercially available in the summer of 1993.
CavePlot 1.1
About a month later, CavePlot 1.1 was released to correct several small but obnoxious printing problems.
CavePlot 2.0
With more people using CavePlot, there were more and more suggestions for additional features. Having outgrown the capability of the original programming language I was using, I began translating CavePlot from the outdated Microsoft QuickBASIC to Zedcor’s much more powerful FutureBASIC. Along the way, with much more control over the program and toolbox routines, several major changes were made to the way CavePlot operated. In essence, CavePlot went from an old-style Basic program to a true Macintosh Application. Several new options were also added, including movable windows, savable preferences, 2-way scrolling data listings, up to 600 dpi printing (rather than 72), and much more.
Once CavePlot’s conversion to FutureBASIC (and a major code reorganization) was complete, version 2.0 was ready. CavePlot 2.0 was released about mid-July, 1994.
CavePlot 2.1
To accommodate numerous (but mostly easy) requested changes and additions, CavePlot 2.1 was released about December, 1994. These changes include, among other things, SICN point patterns, pop-up color and SICN menus, ability to change magnetic declinations (when importing), better “General Info” handling and printing, and 16 colors rather than 8. There were various other changes as well, but I honestly don’t remember them all.
CavePlot 2.2
Several people requested the ability to close loops from within CavePlot. I also got a request for a “Survey Listing” data editor, to replace the 1-Shot data editor previously included in CavePlot. Both of these options were added, along with online-Help (the text you are currently reading). CavePlot 2.2 was released in April, 1995.
CavePlot 3.0
The release of CavePlot 3.0 introduces “Station Attributes” (aka station features or GIS information). This is something I have wanted to implement for some time, but had not decided how best to do it. The method I finally decided on is fairly simple and flexible, yet provides a lot of power and control over the survey information.
Besides the added Station Attribute routines, several other substantial changes were made, particularly to the Linking and Lineplot-Drawing code. In the past, printed output was rotated 90 degrees from that on the screen. All printed lineplots are now orientated in the same direction, and use the same code, as the screen lineplots. Lineplots also draw somewhat faster now, due to a complete restructuring of the main lineplot routines.
More options were provided on how LRCF data should be drawn. LRCF data can now be drawn, as shaded or solid or empty polygons, with or without solid frames. LRCF data can now be drawn when color-by-depth is active, although the LRCF polygons don't change color on the color boundaries. Instead, each polygon is a single color, depending on its "average" depth. In addition, LRCF data is now drawn as Rectangular (rather than Diamond-shaped) polygons.
The linking of survey data now goes quite a bit faster (up to 3x), thanks to several new trig routines which replace the language’s built-in trig functions. Loop closure also goes much faster now, thanks again to the new trig routines.
The CavePlot Help text (this text) is now contained within a separate program, and runs independently of CavePlot.
CavePlot ?.?
What will be next? That is hard to say for certain, but if you have something you would like to see added to CavePlot, let me know and I’ll see what I can do...
One thing I will probably add to CavePlot in future versions is the ability to create “Text Objects” which can be used for drawing titles and so forth on the lineplots. This would make it easier to publish lineplot maps, without having to add various text titles using other programs. As an example, big bold red words saying “main entrance here”, next to the main entrance would be nice. Small text items such as "Map by David Herron", located in the corner might be nice too.